package org.deng.learn.designpattern.facade;

/**
 * @author DengLibin
 * @Description
 * 外观模式（Facade），结构型设计模式。很多时候，客户端其实并不关心被调用的api、模块、子系统内部的结构，
 * 这些细节也用不着暴露给外界。为了解决这个问题，通过定义一个统一的界面来与外界交互，从而屏蔽内部细节。
 * 模式定义：
 *  为子系统中的一组接口提供一个一直(稳定)的界面,外观模式定义了一个高层接口，这个接口使得这一子系统更加容易使用。
 * @Date 2019/3/14 0014 11:57
 */
public class Main {


    /**
     * 从客户程序的角度来看，外观模式简化了整个组件系统的接口，对于组件内部与外部客户程序来说，达到了一种解耦的效果，内部子系统的任何变化不会影响到对外接口的变化。
     *
     * 外观模式更注重架构的层次去看整个系统，而不是单个类的层次。
     *
     * 外观模式并非一个集装箱，可以任意放进任何对象。 外观模式中组件的内部应该是相互耦合关系比较大的一系列组件，而不是一个简单的功能集合。
     */
}
